﻿Public Class VorhandenerArtikelFRM

#Region " D e k l a r a t i o n e n "
    Private EANcode As String
    Private BsDGV As New BindingSource
    Private _EANid As Integer = DB.HoleNächstenFreieID(TBL.EANcodes.TBL)
    Private _ArtikelId As Integer
#End Region

#Region " E i g e n s c h a f t e n "
    Public ReadOnly Property EANid As Integer
        Get
            Return _EANid
        End Get
    End Property
    Public ReadOnly Property ArtikelId As Integer
        Get
            Return _ArtikelId
        End Get
    End Property
#End Region

#Region " K o n s t r u k t o r "
    Public Sub New(EAN As String)
        ' Dieser Aufruf ist für den Designer erforderlich.
        InitializeComponent()
        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
        EANcode = EAN
    End Sub
#End Region

#Region " VorhandenerArtikelFRM_Load-Ereignis "
    Private Sub VorhandenerArtikelFRM_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.DGV.DataSource = BsDGV
        FülleDGV()
    End Sub
#End Region

#Region " ButtonOk_Click-Ereignis "
    Private Sub ButtonOk_Click(sender As Object, e As EventArgs) Handles ButtonOk.Click
        Dim umrechnungsfaktor As Double
        If Double.TryParse(Me.TextBoxUmrechnungsfaktor.Text, umrechnungsfaktor) = False Then
            MsgBox("Bitte nur Zahlenwerte eingeben")
            Exit Sub
        End If
        If umrechnungsfaktor = 0 Then
            MsgBox("Bitte nur Zahlenwerte eingeben")
            Exit Sub
        End If
        Dim tmpSQL As String = "INSERT INTO " & TBL.EANcodes.TBL & "(" & TBL.EANcodes.Id &
            ", " & TBL.EANcodes.Artikel &
            ", " & TBL.EANcodes.Code &
            ", " & TBL.EANcodes.MeUmrechnungsfaktor & ") VALUES (" & EANid & ", " & ArtikelId & ", " & EANcode & ", '" & umrechnungsfaktor & "')"
        DB.InsertDeleteUpdate(tmpSQL)
        Me.DialogResult = DialogResult.OK
    End Sub
#End Region

#Region " FülleDGV "
    Private Sub FülleDGV()
        Try

            Dim tmpSQL As String = "SELECT " & TBL.Artikel.TBL & "." & TBL.Artikel.Id &
                ", " & TBL.Artikel.TBL & "." & TBL.Artikel.Name &
                ", ME1." & TBL.Mengeneinheiten.Name &
                ", ME2." & TBL.Mengeneinheiten.Name &
                " FROM " & TBL.Artikel.TBL &
                " INNER JOIN " & TBL.Mengeneinheiten.TBL & " AS ME1 ON " & TBL.Artikel.TBL & "." & TBL.Artikel.ME1 & " = ME1." & TBL.Mengeneinheiten.Id &
                " INNER JOIN " & TBL.Mengeneinheiten.TBL & " AS ME2 ON " & TBL.Artikel.TBL & "." & TBL.Artikel.ME2 & " = ME2." & TBL.Mengeneinheiten.Id &
                " ORDER BY " & TBL.Artikel.Name
            Dim meDaten As DataTable = DB.BildeDataSet(tmpSQL).Tables(0)
            meDaten.Columns(1).ColumnName = "Artikel"
            meDaten.Columns(2).ColumnName = "Einheit "
            meDaten.Columns(3).ColumnName = "Einheit"
            RemoveHandler DGV.SelectionChanged, AddressOf DGV_SelectionChanged
            Me.BsDGV.DataSource = meDaten
            AddHandler DGV.SelectionChanged, AddressOf DGV_SelectionChanged
            Me.DGV.AutoResizeColumns()
            Me.DGV.Columns(0).Visible = False
            Me.TextBoxAuswahlArtikel.Text = DGV.SelectedRows(0).Cells(1).Value
            _ArtikelId = CInt(DGV.SelectedRows(0).Cells(0).Value)
            Me.LabelUmrechnung1.Text = "Umrechnungsfaktor: 1 " & DGV.SelectedRows(0).Cells(2).Value & " entspricht"
            Me.LabelUmrechnung2.Text = DGV.SelectedRows(0).Cells(3).Value
        Catch ex As Exception
            Throw
        End Try

    End Sub
#End Region

#Region " DGV_SelectionChanged-Ereignis "
    Private Sub DGV_SelectionChanged(sender As Object, e As EventArgs)
        Me.TextBoxAuswahlArtikel.Text = DGV.SelectedRows(0).Cells(1).Value
        _ArtikelId = CInt(DGV.SelectedRows(0).Cells(0).Value)
        Me.LabelUmrechnung1.Text = "Umrechnungsfaktor: 1 " & DGV.SelectedRows(0).Cells(2).Value & " entspricht"
        Me.LabelUmrechnung2.Text = DGV.SelectedRows(0).Cells(3).Value
    End Sub
#End Region

End Class